[INFO] fetching crate moq-transport 0.14.2...
[INFO] fixing moq-transport-0.14.2 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate moq-transport 0.14.2 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate moq-transport 0.14.2
[INFO] finished tweaking crates.io crate moq-transport 0.14.2
[INFO] tweaked toml for crates.io crate moq-transport 0.14.2 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate moq-transport 0.14.2 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate moq-transport 0.14.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 47b614c827db96c47d075cca8ba68047e64aec376cfab8d34131a19ffc6baa29
[INFO] running `Command { std: "docker" "start" "47b614c827db96c47d075cca8ba68047e64aec376cfab8d34131a19ffc6baa29", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "47b614c827db96c47d075cca8ba68047e64aec376cfab8d34131a19ffc6baa29" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "47b614c827db96c47d075cca8ba68047e64aec376cfab8d34131a19ffc6baa29", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "47b614c827db96c47d075cca8ba68047e64aec376cfab8d34131a19ffc6baa29" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]    Compiling find-msvc-tools v0.1.3
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling dunce v1.0.4
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]     Checking pin-project-lite v0.2.14
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling aws-lc-rs v1.13.3
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]     Checking zeroize v1.7.0
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]     Checking bytes v1.6.0
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]    Compiling libm v0.2.15
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]     Checking ppv-lite86 v0.2.17
[INFO] [stderr]     Checking untrusted v0.9.0
[INFO] [stderr]    Compiling rustls v0.23.31
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]     Checking rustls-pki-types v1.12.0
[INFO] [stderr]     Checking openssl-probe v0.1.5
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]     Checking subtle v2.5.0
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]     Checking memchr v2.7.2
[INFO] [stderr]    Compiling quinn-udp v0.5.14
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]     Checking unicode-normalization v0.1.23
[INFO] [stderr]     Checking itoa v1.0.11
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]     Checking equivalent v1.0.1
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]     Checking siphasher v1.0.1
[INFO] [stderr]     Checking unicode-bidi v0.3.15
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]    Compiling quinn v0.11.9
[INFO] [stderr]     Checking lru-slab v0.1.2
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]     Checking rustc-hash v2.0.0
[INFO] [stderr]     Checking http v1.1.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking web-transport-trait v0.3.3
[INFO] [stderr]     Checking rustls-native-certs v0.8.1
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]     Checking indexmap v2.13.0
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling thiserror v1.0.61
[INFO] [stderr]     Checking socket2 v0.6.0
[INFO] [stderr]     Checking mio v1.1.0
[INFO] [stderr]     Checking ryu v1.0.18
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking uuid v1.18.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]    Compiling jobserver v0.1.31
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking url v2.5.0
[INFO] [stderr]    Compiling cc v1.2.40
[INFO] [stderr]     Checking fastbloom v0.14.0
[INFO] [stderr]    Compiling cmake v0.1.50
[INFO] [stderr]    Compiling aws-lc-sys v0.30.0
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.61
[INFO] [stderr]     Checking sfv v0.14.0
[INFO] [stderr]     Checking tokio v1.48.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling serde_with_macros v3.14.0
[INFO] [stderr]     Checking serde_with v3.14.0
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]     Checking web-transport-proto v0.5.2
[INFO] [stderr]     Checking rustls-webpki v0.103.4
[INFO] [stderr]     Checking rustls-platform-verifier v0.6.1
[INFO] [stderr]     Checking quinn-proto v0.11.13
[INFO] [stderr]     Checking web-transport-quinn v0.11.4
[INFO] [stderr]     Checking web-transport v0.10.1
[INFO] [stderr]     Checking moq-transport v0.14.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/coding/bounded_string.rs (1 fix)
[INFO] [stderr]        Fixed src/watch/state.rs (1 fix)
[INFO] [stderr]        Fixed src/message/mod.rs (1 fix)
[INFO] [stderr]        Fixed src/serve/stream.rs (1 fix)
[INFO] [stderr]        Fixed src/session/subscriber.rs (1 fix)
[INFO] [stderr]        Fixed src/session/publisher.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/serve/datagram.rs:104:23
[INFO] [stdout]     |
[INFO] [stdout]  96 | /             {
[INFO] [stdout]  97 | |                 let state = self.state.lock();
[INFO] [stdout]  98 | |                 if self.epoch < state.epoch {
[INFO] [stdout]  99 | |                     self.epoch = state.epoch;
[INFO] [stdout] ...   |
[INFO] [stdout] 104 | |                 match state.modified() {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                       |
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 109 | |             .await;
[INFO] [stdout]     | |                  -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/serve/object.rs:160:23
[INFO] [stdout]     |
[INFO] [stdout] 143 | /             {
[INFO] [stdout] 144 | |                 let state = self.state.lock();
[INFO] [stdout] 145 | |                 if self.epoch < state.epoch {
[INFO] [stdout] ...   |
[INFO] [stdout] 160 | |                 match state.modified() {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                       |
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 165 | |             .await;
[INFO] [stdout]     | |                  -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/serve/object.rs:336:23
[INFO] [stdout]     |
[INFO] [stdout] 326 | /             {
[INFO] [stdout] 327 | |                 let state = self.state.lock();
[INFO] [stdout] 328 | |
[INFO] [stdout] 329 | |                 if self.index < state.chunks.len() {
[INFO] [stdout] ...   |
[INFO] [stdout] 336 | |                 match state.modified() {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                       |
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 341 | |             .await; // Try again when the state changes
[INFO] [stdout]     | |                  -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/serve/object.rs:347:33
[INFO] [stdout]     |
[INFO] [stdout] 347 |         while let Some(chunk) = self.read().await? {
[INFO] [stdout]     |                                 -----------------^
[INFO] [stdout]     |                                 |           |
[INFO] [stdout]     |                                 |           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                 |           up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                 |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                 `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 348 |             chunks.push(chunk);
[INFO] [stdout] 349 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/serve/stream.rs:173:23
[INFO] [stdout]     |
[INFO] [stdout] 164 | /             {
[INFO] [stdout] 165 | |                 let state = self.state.lock();
[INFO] [stdout] 166 | |                 if self.epoch != state.epoch {
[INFO] [stdout] 167 | |                     self.epoch = state.epoch;
[INFO] [stdout] ...   |
[INFO] [stdout] 173 | |                 match state.modified() {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                       |
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 178 | |             .await; // Try again when the state changes
[INFO] [stdout]     | |                  -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/serve/stream.rs:335:23
[INFO] [stdout]     |
[INFO] [stdout] 327 | /             {
[INFO] [stdout] 328 | |                 let state = self.state.lock();
[INFO] [stdout] 329 | |                 if self.index < state.objects.len() {
[INFO] [stdout] 330 | |                     self.index += 1;
[INFO] [stdout] ...   |
[INFO] [stdout] 335 | |                 match state.modified() {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                       |
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 340 | |             .await;
[INFO] [stdout]     | |                  -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/serve/stream.rs:523:23
[INFO] [stdout]     |
[INFO] [stdout] 513 | /             {
[INFO] [stdout] 514 | |                 let state = self.state.lock();
[INFO] [stdout] 515 | |
[INFO] [stdout] 516 | |                 if self.index < state.chunks.len() {
[INFO] [stdout] ...   |
[INFO] [stdout] 523 | |                 match state.modified() {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                       |
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 528 | |             .await; // Try again when the state changes
[INFO] [stdout]     | |                  -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/serve/stream.rs:535:33
[INFO] [stdout]     |
[INFO] [stdout] 535 |         while let Some(chunk) = self.read().await? {
[INFO] [stdout]     |                                 -----------------^
[INFO] [stdout]     |                                 |           |
[INFO] [stdout]     |                                 |           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                 |           up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                 |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                 `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 536 |             chunks.push(chunk);
[INFO] [stdout] 537 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/serve/subgroup.rs:188:23
[INFO] [stdout]     |
[INFO] [stdout] 179 | /             {
[INFO] [stdout] 180 | |                 let state = self.state.lock();
[INFO] [stdout] 181 | |
[INFO] [stdout] 182 | |                 if self.epoch != state.epoch {
[INFO] [stdout] ...   |
[INFO] [stdout] 188 | |                 match state.modified() {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                       |
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 193 | |             .await; // Try again when the state changes
[INFO] [stdout]     | |                  -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/serve/subgroup.rs:422:23
[INFO] [stdout]     |
[INFO] [stdout] 412 | /             {
[INFO] [stdout] 413 | |                 let state = self.state.lock();
[INFO] [stdout] 414 | |
[INFO] [stdout] 415 | |                 if self.read_index < state.objects.len() {
[INFO] [stdout] ...   |
[INFO] [stdout] 422 | |                 match state.modified() {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                       |
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 427 | |             .await; // Try again when the state changes
[INFO] [stdout]     | |                  -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/serve/subgroup.rs:613:23
[INFO] [stdout]     |
[INFO] [stdout] 603 | /             {
[INFO] [stdout] 604 | |                 let state = self.state.lock();
[INFO] [stdout] 605 | |
[INFO] [stdout] 606 | |                 if self.index < state.chunks.len() {
[INFO] [stdout] ...   |
[INFO] [stdout] 613 | |                 match state.modified() {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                       |
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 618 | |             .await; // Try again when the state changes
[INFO] [stdout]     | |                  -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/serve/subgroup.rs:624:33
[INFO] [stdout]     |
[INFO] [stdout] 624 |         while let Some(chunk) = self.read().await? {
[INFO] [stdout]     |                                 -----------------^
[INFO] [stdout]     |                                 |           |
[INFO] [stdout]     |                                 |           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                 |           up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                 |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                 `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 625 |             chunks.push(chunk);
[INFO] [stdout] 626 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/serve/track.rs:204:23
[INFO] [stdout]     |
[INFO] [stdout] 197 | /             {
[INFO] [stdout] 198 | |                 let state = self.state.lock();
[INFO] [stdout] 199 | |                 if let Some(mode) = &state.reader_mode {
[INFO] [stdout] 200 | |                     return Ok(mode.clone());
[INFO] [stdout] ...   |
[INFO] [stdout] 204 | |                 match state.modified() {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                       |
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 209 | |             .await;
[INFO] [stdout]     | |                  -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/serve/track.rs:227:23
[INFO] [stdout]     |
[INFO] [stdout] 223 | /             {
[INFO] [stdout] 224 | |                 let state = self.state.lock();
[INFO] [stdout] 225 | |                 state.closed.clone()?;
[INFO] [stdout] 226 | |
[INFO] [stdout] 227 | |                 match state.modified() {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                       |
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 232 | |             .await;
[INFO] [stdout]     | |                  -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/session/announce.rs:96:23
[INFO] [stdout]     |
[INFO] [stdout]  92 | /             {
[INFO] [stdout]  93 | |                 let state = self.state.lock();
[INFO] [stdout]  94 | |                 state.closed.clone()?;
[INFO] [stdout]  95 | |
[INFO] [stdout]  96 | |                 match state.modified() {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                       |
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 101 | |             .await;
[INFO] [stdout]     | |                  -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/session/announce.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Drop for AnnounceState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/session/announce.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Drop for AnnounceState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/session/announce.rs:117:23
[INFO] [stdout]     |
[INFO] [stdout] 108 | /             {
[INFO] [stdout] 109 | |                 let state = self.state.lock();
[INFO] [stdout] 110 | |                 if !state.subscribers.is_empty() {
[INFO] [stdout] 111 | |                     return Ok(state
[INFO] [stdout] ...   |
[INFO] [stdout] 117 | |                 match state.modified() {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                       |
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 122 | |             .await;
[INFO] [stdout]     | |                  -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/session/announce.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Drop for AnnounceState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/session/announce.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Drop for AnnounceState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/session/announce.rs:137:23
[INFO] [stdout]     |
[INFO] [stdout] 128 | /             {
[INFO] [stdout] 129 | |                 let state = self.state.lock();
[INFO] [stdout] 130 | |                 if !state.track_statuses_requested.is_empty() {
[INFO] [stdout] 131 | |                     return Ok(state
[INFO] [stdout] ...   |
[INFO] [stdout] 137 | |                 match state.modified() {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                       |
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 142 | |             .await;
[INFO] [stdout]     | |                  -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/session/announce.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Drop for AnnounceState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/session/announce.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Drop for AnnounceState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/session/announce.rs:156:23
[INFO] [stdout]     |
[INFO] [stdout] 149 | /             {
[INFO] [stdout] 150 | |                 let state = self.state.lock();
[INFO] [stdout] 151 | |                 if state.ok {
[INFO] [stdout] 152 | |                     return Ok(());
[INFO] [stdout] ...   |
[INFO] [stdout] 156 | |                 match state.modified() {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                       |
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 161 | |             .await;
[INFO] [stdout]     | |                  -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/session/announce.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Drop for AnnounceState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/session/announce.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Drop for AnnounceState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/session/publisher.rs:135:27
[INFO] [stdout]     |
[INFO] [stdout] 132 | /             tokio::select! {
[INFO] [stdout] 133 | |                 // Get next subscription to this announce
[INFO] [stdout] 134 | |                 res = announce.subscribed(), if !subscribe_done => {
[INFO] [stdout] 135 | |                     match res? {
[INFO] [stdout]     | |                           ^^^^
[INFO] [stdout]     | |                           |
[INFO] [stdout]     | |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |                           up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 167 | |                 else => return Ok(())
[INFO] [stdout] 168 | |             }
[INFO] [stdout]     | |             -
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             `output` calls a custom destructor
[INFO] [stdout]     | |             `output` will be dropped later as of Edition 2024
[INFO] [stdout]     | |             `futures_init` calls a custom destructor
[INFO] [stdout]     | |             `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]     | |             `futures` calls a custom destructor
[INFO] [stdout]     | |             `futures` will be dropped later as of Edition 2024
[INFO] [stdout]     | |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |_____________`#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/session/subscribed.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl Drop for Subscribed {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/session/subscribed.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl Drop for Subscribed {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/io/buffered/bufwriter.rs:687:0
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> src/session/announce.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Drop for AnnounceState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/recv_stream.rs:506:1
[INFO] [stdout]     |
[INFO] [stdout] 506 | impl Drop for RecvStream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/send_stream.rs:344:1
[INFO] [stdout]     |
[INFO] [stdout] 344 | impl Drop for SendStream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_unordered/mod.rs:575:1
[INFO] [stdout]     |
[INFO] [stdout] 575 | impl<Fut> Drop for FuturesUnordered<Fut> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_unordered/mod.rs:575:1
[INFO] [stdout]     |
[INFO] [stdout] 575 | impl<Fut> Drop for FuturesUnordered<Fut> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `output` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/connection.rs:927:1
[INFO] [stdout]     |
[INFO] [stdout] 927 | impl Drop for ConnectionRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> src/session/subscribed.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl Drop for Subscribed {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/io/buffered/bufwriter.rs:687:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/session/announce.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Drop for AnnounceState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/recv_stream.rs:506:1
[INFO] [stdout]     |
[INFO] [stdout] 506 | impl Drop for RecvStream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/send_stream.rs:344:1
[INFO] [stdout]     |
[INFO] [stdout] 344 | impl Drop for SendStream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_unordered/mod.rs:575:1
[INFO] [stdout]     |
[INFO] [stdout] 575 | impl<Fut> Drop for FuturesUnordered<Fut> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_unordered/mod.rs:575:1
[INFO] [stdout]     |
[INFO] [stdout] 575 | impl<Fut> Drop for FuturesUnordered<Fut> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/connection.rs:927:1
[INFO] [stdout]     |
[INFO] [stdout] 927 | impl Drop for ConnectionRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/session/subscribed.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl Drop for Subscribed {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/session/publisher.rs:151:27
[INFO] [stdout]     |
[INFO] [stdout] 132 | /             tokio::select! {
[INFO] [stdout] 133 | |                 // Get next subscription to this announce
[INFO] [stdout] 134 | |                 res = announce.subscribed(), if !subscribe_done => {
[INFO] [stdout] 135 | |                     match res? {
[INFO] [stdout] ...   |
[INFO] [stdout] 151 | |                     match res? {
[INFO] [stdout]     | |                           ^^^^
[INFO] [stdout]     | |                           |
[INFO] [stdout]     | |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |                           up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 167 | |                 else => return Ok(())
[INFO] [stdout] 168 | |             }
[INFO] [stdout]     | |             -
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             `output` calls a custom destructor
[INFO] [stdout]     | |             `output` will be dropped later as of Edition 2024
[INFO] [stdout]     | |             `futures_init` calls a custom destructor
[INFO] [stdout]     | |             `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]     | |             `futures` calls a custom destructor
[INFO] [stdout]     | |             `futures` will be dropped later as of Edition 2024
[INFO] [stdout]     | |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |_____________`#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/io/buffered/bufwriter.rs:687:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/session/announce.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Drop for AnnounceState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/recv_stream.rs:506:1
[INFO] [stdout]     |
[INFO] [stdout] 506 | impl Drop for RecvStream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/send_stream.rs:344:1
[INFO] [stdout]     |
[INFO] [stdout] 344 | impl Drop for SendStream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_unordered/mod.rs:575:1
[INFO] [stdout]     |
[INFO] [stdout] 575 | impl<Fut> Drop for FuturesUnordered<Fut> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_unordered/mod.rs:575:1
[INFO] [stdout]     |
[INFO] [stdout] 575 | impl<Fut> Drop for FuturesUnordered<Fut> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/connection.rs:927:1
[INFO] [stdout]     |
[INFO] [stdout] 927 | impl Drop for ConnectionRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/io/buffered/bufwriter.rs:687:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/session/announce.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Drop for AnnounceState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/recv_stream.rs:506:1
[INFO] [stdout]     |
[INFO] [stdout] 506 | impl Drop for RecvStream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/send_stream.rs:344:1
[INFO] [stdout]     |
[INFO] [stdout] 344 | impl Drop for SendStream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_unordered/mod.rs:575:1
[INFO] [stdout]     |
[INFO] [stdout] 575 | impl<Fut> Drop for FuturesUnordered<Fut> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_unordered/mod.rs:575:1
[INFO] [stdout]     |
[INFO] [stdout] 575 | impl<Fut> Drop for FuturesUnordered<Fut> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/connection.rs:927:1
[INFO] [stdout]     |
[INFO] [stdout] 927 | impl Drop for ConnectionRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/io/buffered/bufwriter.rs:687:0
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> src/session/announce.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Drop for AnnounceState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/recv_stream.rs:506:1
[INFO] [stdout]     |
[INFO] [stdout] 506 | impl Drop for RecvStream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/send_stream.rs:344:1
[INFO] [stdout]     |
[INFO] [stdout] 344 | impl Drop for SendStream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_unordered/mod.rs:575:1
[INFO] [stdout]     |
[INFO] [stdout] 575 | impl<Fut> Drop for FuturesUnordered<Fut> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_unordered/mod.rs:575:1
[INFO] [stdout]     |
[INFO] [stdout] 575 | impl<Fut> Drop for FuturesUnordered<Fut> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `output` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/connection.rs:927:1
[INFO] [stdout]     |
[INFO] [stdout] 927 | impl Drop for ConnectionRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> src/session/subscribed.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl Drop for Subscribed {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/io/buffered/bufwriter.rs:687:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/session/announce.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Drop for AnnounceState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/recv_stream.rs:506:1
[INFO] [stdout]     |
[INFO] [stdout] 506 | impl Drop for RecvStream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/send_stream.rs:344:1
[INFO] [stdout]     |
[INFO] [stdout] 344 | impl Drop for SendStream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_unordered/mod.rs:575:1
[INFO] [stdout]     |
[INFO] [stdout] 575 | impl<Fut> Drop for FuturesUnordered<Fut> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_unordered/mod.rs:575:1
[INFO] [stdout]     |
[INFO] [stdout] 575 | impl<Fut> Drop for FuturesUnordered<Fut> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/connection.rs:927:1
[INFO] [stdout]     |
[INFO] [stdout] 927 | impl Drop for ConnectionRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/session/subscribed.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl Drop for Subscribed {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/session/subscribed.rs:306:45
[INFO] [stdout]     |
[INFO] [stdout] 279 |           while let Some(mut subgroup_object_reader) = subgroup_reader.next().await? {
[INFO] [stdout]     |                          --------------------------    ----------------------------
[INFO] [stdout]     |                          |                             |                      |
[INFO] [stdout]     |                          |                             |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                          |                             |                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                          |                             `__awaitee` calls a custom destructor
[INFO] [stdout]     |                          |                             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                          `subgroup_object_reader` calls a custom destructor
[INFO] [stdout]     |                          `subgroup_object_reader` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 302 |               writer.encode(&subgroup_object).await?;
[INFO] [stdout]     |               --------------------------------------
[INFO] [stdout]     |               |                               |
[INFO] [stdout]     |               |                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               |                               `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |               `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 306 |                   if let Ok(mut mlog_guard) = mlog.lock() {
[INFO] [stdout]     |                             --------------    ^^^^^^^^^^^
[INFO] [stdout]     |                             |                 |
[INFO] [stdout]     |                             |                 this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                             |                 up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                             `mlog_guard` calls a custom destructor
[INFO] [stdout]     |                             `mlog_guard` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 319 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 320 |
[INFO] [stdout] 321 | /             state
[INFO] [stdout] 322 | |                 .lock_mut()
[INFO] [stdout] 323 | |                 .ok_or(ServeError::Done)?
[INFO] [stdout]     | |                                         -
[INFO] [stdout]     | |                                         |
[INFO] [stdout]     | |                                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________________________________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 331 |               while let Some(chunk) = subgroup_object_reader.read().await? {
[INFO] [stdout]     |                              -----    -----------------------------------
[INFO] [stdout]     |                              |        |                             |
[INFO] [stdout]     |                              |        |                             this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                              |        |                             `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                              |        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                              |        `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                              `chunk` calls a custom destructor
[INFO] [stdout]     |                              `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 339 |                   writer.write(&chunk).await?;
[INFO] [stdout]     |                   ---------------------------
[INFO] [stdout]     |                   |                    |
[INFO] [stdout]     |                   |                    this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                   |                    `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                   `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `subgroup_object_reader` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `subgroup_object_reader` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `mlog_guard` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:191:1
[INFO] [stdout]     |
[INFO] [stdout] 191 | impl<T> Drop for StateMut<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:191:1
[INFO] [stdout]     |
[INFO] [stdout] 191 | impl<T> Drop for StateMut<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/session/subscribed.rs:331:37
[INFO] [stdout]     |
[INFO] [stdout] 279 |           while let Some(mut subgroup_object_reader) = subgroup_reader.next().await? {
[INFO] [stdout]     |                          --------------------------    ----------------------------
[INFO] [stdout]     |                          |                             |                      |
[INFO] [stdout]     |                          |                             |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                          |                             |                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                          |                             `__awaitee` calls a custom destructor
[INFO] [stdout]     |                          |                             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                          `subgroup_object_reader` calls a custom destructor
[INFO] [stdout]     |                          `subgroup_object_reader` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 302 |               writer.encode(&subgroup_object).await?;
[INFO] [stdout]     |               --------------------------------------
[INFO] [stdout]     |               |                               |
[INFO] [stdout]     |               |                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               |                               `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |               `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 306 |                   if let Ok(mut mlog_guard) = mlog.lock() {
[INFO] [stdout]     |                             --------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `mlog_guard` calls a custom destructor
[INFO] [stdout]     |                             `mlog_guard` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 321 | /             state
[INFO] [stdout] 322 | |                 .lock_mut()
[INFO] [stdout] 323 | |                 .ok_or(ServeError::Done)?
[INFO] [stdout]     | |                                         -
[INFO] [stdout]     | |                                         |
[INFO] [stdout]     | |                                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________________________________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 331 |               while let Some(chunk) = subgroup_object_reader.read().await? {
[INFO] [stdout]     |                              -----    -----------------------------------^
[INFO] [stdout]     |                              |        |                             |
[INFO] [stdout]     |                              |        |                             this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                              |        |                             up until Edition 2021 `#14` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                              |        |                             this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                              |        |                             `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                              |        this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                              |        up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                              |        this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                              |        up until Edition 2021 `#13` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                              |        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                              |        `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                              `chunk` calls a custom destructor
[INFO] [stdout]     |                              `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 339 |                   writer.write(&chunk).await?;
[INFO] [stdout]     |                   ---------------------------
[INFO] [stdout]     |                   |                    |
[INFO] [stdout]     |                   |                    this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                   |                    `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                   `#10` will be dropped later as of Edition 2024
[INFO] [stdout] 340 |                   chunks_sent += 1;
[INFO] [stdout] 341 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `subgroup_object_reader` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `subgroup_object_reader` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `mlog_guard` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:191:1
[INFO] [stdout]     |
[INFO] [stdout] 191 | impl<T> Drop for StateMut<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:191:1
[INFO] [stdout]     |
[INFO] [stdout] 191 | impl<T> Drop for StateMut<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/session/subscribed.rs:331:37
[INFO] [stdout]     |
[INFO] [stdout] 331 |             while let Some(chunk) = subgroup_object_reader.read().await? {
[INFO] [stdout]     |                            -----    -----------------------------------^
[INFO] [stdout]     |                            |        |                             |
[INFO] [stdout]     |                            |        |                             this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                            |        |                             up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |        |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |        |                             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            |        this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                            |        up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |        this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                            |        up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                            |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            `chunk` calls a custom destructor
[INFO] [stdout]     |                            `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 339 |                 writer.write(&chunk).await?;
[INFO] [stdout]     |                 ---------------------------
[INFO] [stdout]     |                 |                    |
[INFO] [stdout]     |                 |                    this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 |                    `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 340 |                 chunks_sent += 1;
[INFO] [stdout] 341 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/session/subscribed.rs:279:54
[INFO] [stdout]     |
[INFO] [stdout] 279 |           while let Some(mut subgroup_object_reader) = subgroup_reader.next().await? {
[INFO] [stdout]     |                          --------------------------    ----------------------------^
[INFO] [stdout]     |                          |                             |                      |
[INFO] [stdout]     |                          |                             |                      this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                          |                             |                      up until Edition 2021 `#14` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                          |                             |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                          |                             |                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                          |                             this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                          |                             up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                          |                             this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                          |                             up until Edition 2021 `#13` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                          |                             `__awaitee` calls a custom destructor
[INFO] [stdout]     |                          |                             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                          `subgroup_object_reader` calls a custom destructor
[INFO] [stdout]     |                          `subgroup_object_reader` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 302 |               writer.encode(&subgroup_object).await?;
[INFO] [stdout]     |               --------------------------------------
[INFO] [stdout]     |               |                               |
[INFO] [stdout]     |               |                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               |                               `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |               `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 306 |                   if let Ok(mut mlog_guard) = mlog.lock() {
[INFO] [stdout]     |                             --------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `mlog_guard` calls a custom destructor
[INFO] [stdout]     |                             `mlog_guard` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 321 | /             state
[INFO] [stdout] 322 | |                 .lock_mut()
[INFO] [stdout] 323 | |                 .ok_or(ServeError::Done)?
[INFO] [stdout]     | |                                         -
[INFO] [stdout]     | |                                         |
[INFO] [stdout]     | |                                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________________________________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 331 |               while let Some(chunk) = subgroup_object_reader.read().await? {
[INFO] [stdout]     |                              -----    -----------------------------------
[INFO] [stdout]     |                              |        |                             |
[INFO] [stdout]     |                              |        |                             this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                              |        |                             `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                              |        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                              |        `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                              `chunk` calls a custom destructor
[INFO] [stdout]     |                              `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 339 |                   writer.write(&chunk).await?;
[INFO] [stdout]     |                   ---------------------------
[INFO] [stdout]     |                   |                    |
[INFO] [stdout]     |                   |                    this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                   |                    `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                   `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 350 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `subgroup_object_reader` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `subgroup_object_reader` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `mlog_guard` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:191:1
[INFO] [stdout]     |
[INFO] [stdout] 191 | impl<T> Drop for StateMut<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:191:1
[INFO] [stdout]     |
[INFO] [stdout] 191 | impl<T> Drop for StateMut<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/session/subscribed.rs:415:45
[INFO] [stdout]     |
[INFO] [stdout] 369 |           while let Some(datagram) = datagrams.read().await? {
[INFO] [stdout]     |                          --------    ----------------------
[INFO] [stdout]     |                          |           |                |
[INFO] [stdout]     |                          |           |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                          |           |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                          |           `__awaitee` calls a custom destructor
[INFO] [stdout]     |                          |           `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                          `datagram` calls a custom destructor
[INFO] [stdout]     |                          `datagram` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 378 |               let encoded_datagram = data::Datagram {
[INFO] [stdout]     |                   ----------------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `encoded_datagram` calls a custom destructor
[INFO] [stdout]     |                   `encoded_datagram` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 415 |                   if let Ok(mut mlog_guard) = mlog.lock() {
[INFO] [stdout]     |                             --------------    ^^^^^^^^^^^
[INFO] [stdout]     |                             |                 |
[INFO] [stdout]     |                             |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                             |                 up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                             `mlog_guard` calls a custom destructor
[INFO] [stdout]     |                             `mlog_guard` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 424 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 425 |
[INFO] [stdout] 426 |               self.publisher.send_datagram(buffer.into()).await?;
[INFO] [stdout]     |               --------------------------------------------------
[INFO] [stdout]     |               |                                           |
[INFO] [stdout]     |               |                                           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               |                                           `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |               `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 427 |
[INFO] [stdout] 428 | /             self.state
[INFO] [stdout] 429 | |                 .lock_mut()
[INFO] [stdout] 430 | |                 .ok_or(ServeError::Done)?
[INFO] [stdout]     | |                                         -
[INFO] [stdout]     | |                                         |
[INFO] [stdout]     | |                                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________________________________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `datagram` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `encoded_datagram` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `mlog_guard` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:191:1
[INFO] [stdout]     |
[INFO] [stdout] 191 | impl<T> Drop for StateMut<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:191:1
[INFO] [stdout]     |
[INFO] [stdout] 191 | impl<T> Drop for StateMut<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/session/subscribed.rs:369:36
[INFO] [stdout]      |
[INFO] [stdout]  369 |           while let Some(datagram) = datagrams.read().await? {
[INFO] [stdout]      |                          --------    ----------------------^
[INFO] [stdout]      |                          |           |                |
[INFO] [stdout]      |                          |           |                this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                          |           |                up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                          |           |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                          |           |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          |           this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                          |           up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                          |           this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                          |           up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                          |           `__awaitee` calls a custom destructor
[INFO] [stdout]      |                          |           `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          `datagram` calls a custom destructor
[INFO] [stdout]      |                          `datagram` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  378 |               let encoded_datagram = data::Datagram {
[INFO] [stdout]      |                   ----------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `encoded_datagram` calls a custom destructor
[INFO] [stdout]      |                   `encoded_datagram` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  398 |               let mut buffer = bytes::BytesMut::with_capacity(payload_len + 100);
[INFO] [stdout]      |                   ----------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `buffer` calls a custom destructor
[INFO] [stdout]      |                   `buffer` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  415 |                   if let Ok(mut mlog_guard) = mlog.lock() {
[INFO] [stdout]      |                             --------------
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             `mlog_guard` calls a custom destructor
[INFO] [stdout]      |                             `mlog_guard` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  426 |               self.publisher.send_datagram(buffer.into()).await?;
[INFO] [stdout]      |               --------------------------------------------------
[INFO] [stdout]      |               |                                           |
[INFO] [stdout]      |               |                                           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |               |                                           `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |               `#3` will be dropped later as of Edition 2024
[INFO] [stdout]  427 |
[INFO] [stdout]  428 | /             self.state
[INFO] [stdout]  429 | |                 .lock_mut()
[INFO] [stdout]  430 | |                 .ok_or(ServeError::Done)?
[INFO] [stdout]      | |                                         -
[INFO] [stdout]      | |                                         |
[INFO] [stdout]      | |                                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      | |_________________________________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  437 |           }
[INFO] [stdout]      |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]      |
[INFO] [stdout]  544 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]      |
[INFO] [stdout]  544 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]      |
[INFO] [stdout]  544 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `datagram` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]      |
[INFO] [stdout]  544 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `encoded_datagram` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]      |
[INFO] [stdout]  544 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `buffer` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes_mut.rs:1030:1
[INFO] [stdout]      |
[INFO] [stdout] 1030 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `mlog_guard` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]      |
[INFO] [stdout]  544 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]      |
[INFO] [stdout]  544 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> src/watch/state.rs:191:1
[INFO] [stdout]      |
[INFO] [stdout]  191 | impl<T> Drop for StateMut<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> src/watch/state.rs:191:1
[INFO] [stdout]      |
[INFO] [stdout]  191 | impl<T> Drop for StateMut<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/session/subscriber.rs:127:28
[INFO] [stdout]     |
[INFO] [stdout] 126 |         let subscribe = self.subscribe_open(track).await?;
[INFO] [stdout]     |             ---------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `subscribe` calls a custom destructor
[INFO] [stdout]     |             `subscribe` will be dropped later as of Edition 2024
[INFO] [stdout] 127 |         subscribe.closed().await
[INFO] [stdout]     |                            ^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 128 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `subscribe` invokes this custom destructor
[INFO] [stdout]    --> src/session/subscribe.rs:164:1
[INFO] [stdout]     |
[INFO] [stdout] 164 | impl Drop for Subscribe {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/session/subscriber.rs:571:45
[INFO] [stdout]     |
[INFO] [stdout] 483 |               while !reader.done().await? {
[INFO] [stdout]     |                      --------------------
[INFO] [stdout]     |                      |             |
[INFO] [stdout]     |                      |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                      |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                      `__awaitee` calls a custom destructor
[INFO] [stdout]     |                      `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 495 |                               let object = reader.decode::<data::SubgroupObjectExt>().await?;
[INFO] [stdout]     |                                            -------------------------------------------------
[INFO] [stdout]     |                                            |                                          |
[INFO] [stdout]     |                                            |                                          this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                            |                                          `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                            `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                            `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 544 |                               let object = reader.decode::<data::SubgroupObject>().await?;
[INFO] [stdout]     |                                            ----------------------------------------------
[INFO] [stdout]     |                                            |                                       |
[INFO] [stdout]     |                                            |                                       this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                            |                                       `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                            `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                            `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 571 |                       if let Ok(mut mlog_guard) = mlog.lock() {
[INFO] [stdout]     |                                 --------------    ^^^^^^^^^^^
[INFO] [stdout]     |                                 |                 |
[INFO] [stdout]     |                                 |                 this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                                 |                 up until Edition 2021 `#14` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                 `mlog_guard` calls a custom destructor
[INFO] [stdout]     |                                 `mlog_guard` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 601 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 606 |                   let mut object_writer = subgroup_writer.create(remaining_bytes, extension_headers)?;
[INFO] [stdout]     |                       -----------------   -----------------------------------------------------------
[INFO] [stdout]     |                       |                   |
[INFO] [stdout]     |                       |                   this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                       |                   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       `object_writer` calls a custom destructor
[INFO] [stdout]     |                       `object_writer` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 615 |                       let data = reader
[INFO] [stdout]     |      ____________________________-
[INFO] [stdout]     |    _|____________________________|
[INFO] [stdout]     |  _|_|____________________________|
[INFO] [stdout] 616 | | | |                     .read_chunk(remaining_bytes)
[INFO] [stdout] 617 | | | |                     .await?
[INFO] [stdout]     | | | |                      ------
[INFO] [stdout]     | | | |                      |   ||
[INFO] [stdout]     | | |_|______________________|___|this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |   |                      |   |`#11` will be dropped later as of Edition 2024
[INFO] [stdout]     | |   |______________________|___this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     | |                          |   `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                          this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     | |                          `#13` will be dropped later as of Edition 2024
[INFO] [stdout] 618 | |                         .ok_or_else(|| {
[INFO] [stdout] ...   |
[INFO] [stdout] 624 | |                             SessionError::WrongSize
[INFO] [stdout] 625 | |                         })?;
[INFO] [stdout]     | |                           -
[INFO] [stdout]     | |                           |
[INFO] [stdout]     | |___________________________this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                             `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `mlog_guard` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `object_writer` invokes this custom destructor
[INFO] [stdout]    --> src/serve/subgroup.rs:557:1
[INFO] [stdout]     |
[INFO] [stdout] 557 | impl Drop for SubgroupObjectWriter {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> src/serve/subgroup.rs:557:1
[INFO] [stdout]     |
[INFO] [stdout] 557 | impl Drop for SubgroupObjectWriter {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/session/mod.rs:730:45
[INFO] [stdout]     |
[INFO] [stdout] 724 |         while let Some(msg) = outgoing.pop().await {
[INFO] [stdout]     |                               --------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 730 |                 if let Ok(mut mlog_guard) = mlog.lock() {
[INFO] [stdout]     |                           --------------    ^^^^^^^^^^^
[INFO] [stdout]     |                           |                 |
[INFO] [stdout]     |                           |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                           |                 up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                           `mlog_guard` calls a custom destructor
[INFO] [stdout]     |                           `mlog_guard` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 767 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 768 |
[INFO] [stdout] 769 |             sender.encode(&msg).await?;
[INFO] [stdout]     |             --------------------------
[INFO] [stdout]     |             |                   |
[INFO] [stdout]     |             |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |             |                   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `mlog_guard` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/session/mod.rs:794:45
[INFO] [stdout]     |
[INFO] [stdout] 787 |                 let msg: message::Message = recver.decode().await?;
[INFO] [stdout]     |                                             ----------------------
[INFO] [stdout]     |                                             |               |
[INFO] [stdout]     |                                             |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                             |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 794 |                     if let Ok(mut mlog_guard) = mlog.lock() {
[INFO] [stdout]     |                               --------------    ^^^^^^^^^^^
[INFO] [stdout]     |                               |                 |
[INFO] [stdout]     |                               |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                               |                 up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               `mlog_guard` calls a custom destructor
[INFO] [stdout]     |                               `mlog_guard` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 831 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 835 | / /                     subscriber
[INFO] [stdout] 836 | | |                         .as_mut()
[INFO] [stdout] 837 | | |                         .ok_or(SessionError::RoleViolation)?
[INFO] [stdout]     | | |                                                            -
[INFO] [stdout]     | | |                                                            |
[INFO] [stdout]     | | |____________________________________________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                                                              `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 838 | |                           .recv_message(msg)?;
[INFO] [stdout]     | |                                             -
[INFO] [stdout]     | |                                             |
[INFO] [stdout]     | |_____________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                               `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 846 |   /                     publisher
[INFO] [stdout] 847 |   |                         .as_mut()
[INFO] [stdout] 848 |   |                         .ok_or(SessionError::RoleViolation)?
[INFO] [stdout]     |   |                                                            -
[INFO] [stdout]     |   |____________________________________________________________|
[INFO] [stdout]     |   |____________________________________________________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                                                `#6` will be dropped later as of Edition 2024
[INFO] [stdout] 849 |   |                         .recv_message(msg)?;
[INFO] [stdout]     |   |                                           -
[INFO] [stdout]     |   |___________________________________________|
[INFO] [stdout]     |   |___________________________________________this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                               `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `mlog_guard` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/watch/queue.rs:32:53
[INFO] [stdout]     |
[INFO] [stdout]  29 |                   let queue = self.state.lock();
[INFO] [stdout]     |                       -----
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `queue` calls a custom destructor
[INFO] [stdout]     |                       `queue` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  32 |                       if let Some((item, notifier)) = {
[INFO] [stdout]     |  ________________________________________--------_____^
[INFO] [stdout]     | |                                        |
[INFO] [stdout]     | |                                        `notifier` calls a custom destructor
[INFO] [stdout]     | |                                        `notifier` will be dropped later as of Edition 2024
[INFO] [stdout]  33 | |                         let mut state_mut = queue.into_mut()?;
[INFO] [stdout]     | |                             -------------   -----------------
[INFO] [stdout]     | |                             |               |
[INFO] [stdout]     | |                             |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                             |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                             `state_mut` calls a custom destructor
[INFO] [stdout]     | |                             `state_mut` will be dropped later as of Edition 2024
[INFO] [stdout]  34 | |                         state_mut.pop_front()
[INFO] [stdout]  35 | |                     } {
[INFO] [stdout]     | |                     ^
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |_____________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  41 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  46 |               queue.modified()?.await;
[INFO] [stdout]     |               -----------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `queue` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `queue` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `queue` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `state_mut` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:191:1
[INFO] [stdout]     |
[INFO] [stdout] 191 | impl<T> Drop for StateMut<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:191:1
[INFO] [stdout]     |
[INFO] [stdout] 191 | impl<T> Drop for StateMut<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `notifier` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/message/publisher.rs:44:20
[INFO] [stdout]    |
[INFO] [stdout] 44 |                       $(Self::$name(ref m) => m.fmt(f),)*
[INFO] [stdout]    |                                     ^^^^^ occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 52 | / publisher_msgs! {
[INFO] [stdout] 53 | |     PublishNamespace,
[INFO] [stdout] 54 | |     PublishNamespaceDone,
[INFO] [stdout] 55 | |     Publish,
[INFO] [stdout] ...  |
[INFO] [stdout] 64 | |     SubscribeNamespaceError,
[INFO] [stdout] 65 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]    = note: this warning originates in the macro `publisher_msgs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 44 |                     $(&Self::$name(ref m) => m.fmt(f),)*
[INFO] [stdout]    |                       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/message/subscriber.rs:44:20
[INFO] [stdout]    |
[INFO] [stdout] 44 |                       $(Self::$name(ref m) => m.fmt(f),)*
[INFO] [stdout]    |                                     ^^^^^ occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 52 | / subscriber_msgs! {
[INFO] [stdout] 53 | |     Subscribe,
[INFO] [stdout] 54 | |     SubscribeUpdate,
[INFO] [stdout] 55 | |     Unsubscribe,
[INFO] [stdout] ...  |
[INFO] [stdout] 65 | |     PublishError,
[INFO] [stdout] 66 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `subscriber_msgs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 44 |                     $(&Self::$name(ref m) => m.fmt(f),)*
[INFO] [stdout]    |                       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/message/mod.rs:113:20
[INFO] [stdout]     |
[INFO] [stdout] 113 |                       $(Self::$name(ref m) => {
[INFO] [stdout]     |                                     ^^^^^ occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 174 | / message_types! {
[INFO] [stdout] ...   |
[INFO] [stdout] 227 | |     PublishError = 0x1f,
[INFO] [stdout] 228 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `message_types` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 113 |                     $(&Self::$name(ref m) => {
[INFO] [stdout]     |                       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/message/mod.rs:166:20
[INFO] [stdout]     |
[INFO] [stdout] 166 |                       $(Self::$name(ref m) => m.fmt(f),)*
[INFO] [stdout]     |                                     ^^^^^ occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 174 | / message_types! {
[INFO] [stdout] ...   |
[INFO] [stdout] 227 | |     PublishError = 0x1f,
[INFO] [stdout] 228 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `message_types` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 166 |                     $(&Self::$name(ref m) => m.fmt(f),)*
[INFO] [stdout]     |                       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/serve/datagram.rs:104:23
[INFO] [stdout]     |
[INFO] [stdout]  96 | /             {
[INFO] [stdout]  97 | |                 let state = self.state.lock();
[INFO] [stdout]  98 | |                 if self.epoch < state.epoch {
[INFO] [stdout]  99 | |                     self.epoch = state.epoch;
[INFO] [stdout] ...   |
[INFO] [stdout] 104 | |                 match state.modified() {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                       |
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 109 | |             .await;
[INFO] [stdout]     | |                  -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/serve/object.rs:160:23
[INFO] [stdout]     |
[INFO] [stdout] 143 | /             {
[INFO] [stdout] 144 | |                 let state = self.state.lock();
[INFO] [stdout] 145 | |                 if self.epoch < state.epoch {
[INFO] [stdout] ...   |
[INFO] [stdout] 160 | |                 match state.modified() {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                       |
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 165 | |             .await;
[INFO] [stdout]     | |                  -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/serve/object.rs:336:23
[INFO] [stdout]     |
[INFO] [stdout] 326 | /             {
[INFO] [stdout] 327 | |                 let state = self.state.lock();
[INFO] [stdout] 328 | |
[INFO] [stdout] 329 | |                 if self.index < state.chunks.len() {
[INFO] [stdout] ...   |
[INFO] [stdout] 336 | |                 match state.modified() {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                       |
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 341 | |             .await; // Try again when the state changes
[INFO] [stdout]     | |                  -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/serve/object.rs:347:33
[INFO] [stdout]     |
[INFO] [stdout] 347 |         while let Some(chunk) = self.read().await? {
[INFO] [stdout]     |                                 -----------------^
[INFO] [stdout]     |                                 |           |
[INFO] [stdout]     |                                 |           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                 |           up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                 |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                 `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 348 |             chunks.push(chunk);
[INFO] [stdout] 349 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/serve/stream.rs:173:23
[INFO] [stdout]     |
[INFO] [stdout] 164 | /             {
[INFO] [stdout] 165 | |                 let state = self.state.lock();
[INFO] [stdout] 166 | |                 if self.epoch != state.epoch {
[INFO] [stdout] 167 | |                     self.epoch = state.epoch;
[INFO] [stdout] ...   |
[INFO] [stdout] 173 | |                 match state.modified() {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                       |
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 178 | |             .await; // Try again when the state changes
[INFO] [stdout]     | |                  -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/serve/stream.rs:335:23
[INFO] [stdout]     |
[INFO] [stdout] 327 | /             {
[INFO] [stdout] 328 | |                 let state = self.state.lock();
[INFO] [stdout] 329 | |                 if self.index < state.objects.len() {
[INFO] [stdout] 330 | |                     self.index += 1;
[INFO] [stdout] ...   |
[INFO] [stdout] 335 | |                 match state.modified() {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                       |
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 340 | |             .await;
[INFO] [stdout]     | |                  -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/serve/stream.rs:523:23
[INFO] [stdout]     |
[INFO] [stdout] 513 | /             {
[INFO] [stdout] 514 | |                 let state = self.state.lock();
[INFO] [stdout] 515 | |
[INFO] [stdout] 516 | |                 if self.index < state.chunks.len() {
[INFO] [stdout] ...   |
[INFO] [stdout] 523 | |                 match state.modified() {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                       |
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 528 | |             .await; // Try again when the state changes
[INFO] [stdout]     | |                  -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/serve/stream.rs:535:33
[INFO] [stdout]     |
[INFO] [stdout] 535 |         while let Some(chunk) = self.read().await? {
[INFO] [stdout]     |                                 -----------------^
[INFO] [stdout]     |                                 |           |
[INFO] [stdout]     |                                 |           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                 |           up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                 |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                 `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 536 |             chunks.push(chunk);
[INFO] [stdout] 537 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/serve/subgroup.rs:188:23
[INFO] [stdout]     |
[INFO] [stdout] 179 | /             {
[INFO] [stdout] 180 | |                 let state = self.state.lock();
[INFO] [stdout] 181 | |
[INFO] [stdout] 182 | |                 if self.epoch != state.epoch {
[INFO] [stdout] ...   |
[INFO] [stdout] 188 | |                 match state.modified() {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                       |
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 193 | |             .await; // Try again when the state changes
[INFO] [stdout]     | |                  -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/serve/subgroup.rs:422:23
[INFO] [stdout]     |
[INFO] [stdout] 412 | /             {
[INFO] [stdout] 413 | |                 let state = self.state.lock();
[INFO] [stdout] 414 | |
[INFO] [stdout] 415 | |                 if self.read_index < state.objects.len() {
[INFO] [stdout] ...   |
[INFO] [stdout] 422 | |                 match state.modified() {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                       |
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 427 | |             .await; // Try again when the state changes
[INFO] [stdout]     | |                  -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/serve/subgroup.rs:613:23
[INFO] [stdout]     |
[INFO] [stdout] 603 | /             {
[INFO] [stdout] 604 | |                 let state = self.state.lock();
[INFO] [stdout] 605 | |
[INFO] [stdout] 606 | |                 if self.index < state.chunks.len() {
[INFO] [stdout] ...   |
[INFO] [stdout] 613 | |                 match state.modified() {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                       |
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 618 | |             .await; // Try again when the state changes
[INFO] [stdout]     | |                  -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/serve/subgroup.rs:624:33
[INFO] [stdout]     |
[INFO] [stdout] 624 |         while let Some(chunk) = self.read().await? {
[INFO] [stdout]     |                                 -----------------^
[INFO] [stdout]     |                                 |           |
[INFO] [stdout]     |                                 |           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                 |           up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                 |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                 `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 625 |             chunks.push(chunk);
[INFO] [stdout] 626 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/serve/track.rs:204:23
[INFO] [stdout]     |
[INFO] [stdout] 197 | /             {
[INFO] [stdout] 198 | |                 let state = self.state.lock();
[INFO] [stdout] 199 | |                 if let Some(mode) = &state.reader_mode {
[INFO] [stdout] 200 | |                     return Ok(mode.clone());
[INFO] [stdout] ...   |
[INFO] [stdout] 204 | |                 match state.modified() {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                       |
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 209 | |             .await;
[INFO] [stdout]     | |                  -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/serve/track.rs:227:23
[INFO] [stdout]     |
[INFO] [stdout] 223 | /             {
[INFO] [stdout] 224 | |                 let state = self.state.lock();
[INFO] [stdout] 225 | |                 state.closed.clone()?;
[INFO] [stdout] 226 | |
[INFO] [stdout] 227 | |                 match state.modified() {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                       |
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 232 | |             .await;
[INFO] [stdout]     | |                  -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/session/announce.rs:96:23
[INFO] [stdout]     |
[INFO] [stdout]  92 | /             {
[INFO] [stdout]  93 | |                 let state = self.state.lock();
[INFO] [stdout]  94 | |                 state.closed.clone()?;
[INFO] [stdout]  95 | |
[INFO] [stdout]  96 | |                 match state.modified() {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                       |
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 101 | |             .await;
[INFO] [stdout]     | |                  -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/session/announce.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Drop for AnnounceState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/session/announce.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Drop for AnnounceState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/session/announce.rs:117:23
[INFO] [stdout]     |
[INFO] [stdout] 108 | /             {
[INFO] [stdout] 109 | |                 let state = self.state.lock();
[INFO] [stdout] 110 | |                 if !state.subscribers.is_empty() {
[INFO] [stdout] 111 | |                     return Ok(state
[INFO] [stdout] ...   |
[INFO] [stdout] 117 | |                 match state.modified() {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                       |
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 122 | |             .await;
[INFO] [stdout]     | |                  -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/session/announce.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Drop for AnnounceState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/session/announce.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Drop for AnnounceState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/session/announce.rs:137:23
[INFO] [stdout]     |
[INFO] [stdout] 128 | /             {
[INFO] [stdout] 129 | |                 let state = self.state.lock();
[INFO] [stdout] 130 | |                 if !state.track_statuses_requested.is_empty() {
[INFO] [stdout] 131 | |                     return Ok(state
[INFO] [stdout] ...   |
[INFO] [stdout] 137 | |                 match state.modified() {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                       |
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 142 | |             .await;
[INFO] [stdout]     | |                  -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/session/announce.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Drop for AnnounceState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/session/announce.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Drop for AnnounceState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/session/announce.rs:156:23
[INFO] [stdout]     |
[INFO] [stdout] 149 | /             {
[INFO] [stdout] 150 | |                 let state = self.state.lock();
[INFO] [stdout] 151 | |                 if state.ok {
[INFO] [stdout] 152 | |                     return Ok(());
[INFO] [stdout] ...   |
[INFO] [stdout] 156 | |                 match state.modified() {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                       |
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 161 | |             .await;
[INFO] [stdout]     | |                  -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/session/announce.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Drop for AnnounceState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> src/session/announce.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Drop for AnnounceState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/session/publisher.rs:135:27
[INFO] [stdout]     |
[INFO] [stdout] 132 | /             tokio::select! {
[INFO] [stdout] 133 | |                 // Get next subscription to this announce
[INFO] [stdout] 134 | |                 res = announce.subscribed(), if !subscribe_done => {
[INFO] [stdout] 135 | |                     match res? {
[INFO] [stdout]     | |                           ^^^^
[INFO] [stdout]     | |                           |
[INFO] [stdout]     | |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |                           up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 167 | |                 else => return Ok(())
[INFO] [stdout] 168 | |             }
[INFO] [stdout]     | |             -
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             `output` calls a custom destructor
[INFO] [stdout]     | |             `output` will be dropped later as of Edition 2024
[INFO] [stdout]     | |             `futures_init` calls a custom destructor
[INFO] [stdout]     | |             `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]     | |             `futures` calls a custom destructor
[INFO] [stdout]     | |             `futures` will be dropped later as of Edition 2024
[INFO] [stdout]     | |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |_____________`#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/session/subscribed.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl Drop for Subscribed {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/session/subscribed.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl Drop for Subscribed {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/io/buffered/bufwriter.rs:687:0
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> src/session/announce.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Drop for AnnounceState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/recv_stream.rs:506:1
[INFO] [stdout]     |
[INFO] [stdout] 506 | impl Drop for RecvStream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/send_stream.rs:344:1
[INFO] [stdout]     |
[INFO] [stdout] 344 | impl Drop for SendStream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_unordered/mod.rs:575:1
[INFO] [stdout]     |
[INFO] [stdout] 575 | impl<Fut> Drop for FuturesUnordered<Fut> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_unordered/mod.rs:575:1
[INFO] [stdout]     |
[INFO] [stdout] 575 | impl<Fut> Drop for FuturesUnordered<Fut> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `output` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/connection.rs:927:1
[INFO] [stdout]     |
[INFO] [stdout] 927 | impl Drop for ConnectionRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> src/session/subscribed.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl Drop for Subscribed {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/io/buffered/bufwriter.rs:687:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/session/announce.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Drop for AnnounceState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/recv_stream.rs:506:1
[INFO] [stdout]     |
[INFO] [stdout] 506 | impl Drop for RecvStream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/send_stream.rs:344:1
[INFO] [stdout]     |
[INFO] [stdout] 344 | impl Drop for SendStream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_unordered/mod.rs:575:1
[INFO] [stdout]     |
[INFO] [stdout] 575 | impl<Fut> Drop for FuturesUnordered<Fut> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_unordered/mod.rs:575:1
[INFO] [stdout]     |
[INFO] [stdout] 575 | impl<Fut> Drop for FuturesUnordered<Fut> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/connection.rs:927:1
[INFO] [stdout]     |
[INFO] [stdout] 927 | impl Drop for ConnectionRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/session/subscribed.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl Drop for Subscribed {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/session/publisher.rs:151:27
[INFO] [stdout]     |
[INFO] [stdout] 132 | /             tokio::select! {
[INFO] [stdout] 133 | |                 // Get next subscription to this announce
[INFO] [stdout] 134 | |                 res = announce.subscribed(), if !subscribe_done => {
[INFO] [stdout] 135 | |                     match res? {
[INFO] [stdout] ...   |
[INFO] [stdout] 151 | |                     match res? {
[INFO] [stdout]     | |                           ^^^^
[INFO] [stdout]     | |                           |
[INFO] [stdout]     | |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |                           up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 167 | |                 else => return Ok(())
[INFO] [stdout] 168 | |             }
[INFO] [stdout]     | |             -
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             `output` calls a custom destructor
[INFO] [stdout]     | |             `output` will be dropped later as of Edition 2024
[INFO] [stdout]     | |             `futures_init` calls a custom destructor
[INFO] [stdout]     | |             `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]     | |             `futures` calls a custom destructor
[INFO] [stdout]     | |             `futures` will be dropped later as of Edition 2024
[INFO] [stdout]     | |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |_____________`#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/io/buffered/bufwriter.rs:687:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/session/announce.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Drop for AnnounceState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/recv_stream.rs:506:1
[INFO] [stdout]     |
[INFO] [stdout] 506 | impl Drop for RecvStream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/send_stream.rs:344:1
[INFO] [stdout]     |
[INFO] [stdout] 344 | impl Drop for SendStream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_unordered/mod.rs:575:1
[INFO] [stdout]     |
[INFO] [stdout] 575 | impl<Fut> Drop for FuturesUnordered<Fut> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_unordered/mod.rs:575:1
[INFO] [stdout]     |
[INFO] [stdout] 575 | impl<Fut> Drop for FuturesUnordered<Fut> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/connection.rs:927:1
[INFO] [stdout]     |
[INFO] [stdout] 927 | impl Drop for ConnectionRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/io/buffered/bufwriter.rs:687:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/session/announce.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Drop for AnnounceState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/recv_stream.rs:506:1
[INFO] [stdout]     |
[INFO] [stdout] 506 | impl Drop for RecvStream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/send_stream.rs:344:1
[INFO] [stdout]     |
[INFO] [stdout] 344 | impl Drop for SendStream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_unordered/mod.rs:575:1
[INFO] [stdout]     |
[INFO] [stdout] 575 | impl<Fut> Drop for FuturesUnordered<Fut> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_unordered/mod.rs:575:1
[INFO] [stdout]     |
[INFO] [stdout] 575 | impl<Fut> Drop for FuturesUnordered<Fut> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/connection.rs:927:1
[INFO] [stdout]     |
[INFO] [stdout] 927 | impl Drop for ConnectionRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/io/buffered/bufwriter.rs:687:0
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> src/session/announce.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Drop for AnnounceState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/recv_stream.rs:506:1
[INFO] [stdout]     |
[INFO] [stdout] 506 | impl Drop for RecvStream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/send_stream.rs:344:1
[INFO] [stdout]     |
[INFO] [stdout] 344 | impl Drop for SendStream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_unordered/mod.rs:575:1
[INFO] [stdout]     |
[INFO] [stdout] 575 | impl<Fut> Drop for FuturesUnordered<Fut> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_unordered/mod.rs:575:1
[INFO] [stdout]     |
[INFO] [stdout] 575 | impl<Fut> Drop for FuturesUnordered<Fut> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `output` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/connection.rs:927:1
[INFO] [stdout]     |
[INFO] [stdout] 927 | impl Drop for ConnectionRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> src/session/subscribed.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl Drop for Subscribed {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/io/buffered/bufwriter.rs:687:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/session/announce.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Drop for AnnounceState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/recv_stream.rs:506:1
[INFO] [stdout]     |
[INFO] [stdout] 506 | impl Drop for RecvStream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/send_stream.rs:344:1
[INFO] [stdout]     |
[INFO] [stdout] 344 | impl Drop for SendStream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_unordered/mod.rs:575:1
[INFO] [stdout]     |
[INFO] [stdout] 575 | impl<Fut> Drop for FuturesUnordered<Fut> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_unordered/mod.rs:575:1
[INFO] [stdout]     |
[INFO] [stdout] 575 | impl<Fut> Drop for FuturesUnordered<Fut> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/connection.rs:927:1
[INFO] [stdout]     |
[INFO] [stdout] 927 | impl Drop for ConnectionRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/session/subscribed.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl Drop for Subscribed {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/session/subscribed.rs:306:45
[INFO] [stdout]     |
[INFO] [stdout] 279 |           while let Some(mut subgroup_object_reader) = subgroup_reader.next().await? {
[INFO] [stdout]     |                          --------------------------    ----------------------------
[INFO] [stdout]     |                          |                             |                      |
[INFO] [stdout]     |                          |                             |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                          |                             |                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                          |                             `__awaitee` calls a custom destructor
[INFO] [stdout]     |                          |                             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                          `subgroup_object_reader` calls a custom destructor
[INFO] [stdout]     |                          `subgroup_object_reader` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 302 |               writer.encode(&subgroup_object).await?;
[INFO] [stdout]     |               --------------------------------------
[INFO] [stdout]     |               |                               |
[INFO] [stdout]     |               |                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               |                               `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |               `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 306 |                   if let Ok(mut mlog_guard) = mlog.lock() {
[INFO] [stdout]     |                             --------------    ^^^^^^^^^^^
[INFO] [stdout]     |                             |                 |
[INFO] [stdout]     |                             |                 this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                             |                 up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                             `mlog_guard` calls a custom destructor
[INFO] [stdout]     |                             `mlog_guard` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 319 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 320 |
[INFO] [stdout] 321 | /             state
[INFO] [stdout] 322 | |                 .lock_mut()
[INFO] [stdout] 323 | |                 .ok_or(ServeError::Done)?
[INFO] [stdout]     | |                                         -
[INFO] [stdout]     | |                                         |
[INFO] [stdout]     | |                                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________________________________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 331 |               while let Some(chunk) = subgroup_object_reader.read().await? {
[INFO] [stdout]     |                              -----    -----------------------------------
[INFO] [stdout]     |                              |        |                             |
[INFO] [stdout]     |                              |        |                             this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                              |        |                             `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                              |        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                              |        `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                              `chunk` calls a custom destructor
[INFO] [stdout]     |                              `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 339 |                   writer.write(&chunk).await?;
[INFO] [stdout]     |                   ---------------------------
[INFO] [stdout]     |                   |                    |
[INFO] [stdout]     |                   |                    this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                   |                    `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                   `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `subgroup_object_reader` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `subgroup_object_reader` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `mlog_guard` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:191:1
[INFO] [stdout]     |
[INFO] [stdout] 191 | impl<T> Drop for StateMut<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:191:1
[INFO] [stdout]     |
[INFO] [stdout] 191 | impl<T> Drop for StateMut<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/session/subscribed.rs:331:37
[INFO] [stdout]     |
[INFO] [stdout] 279 |           while let Some(mut subgroup_object_reader) = subgroup_reader.next().await? {
[INFO] [stdout]     |                          --------------------------    ----------------------------
[INFO] [stdout]     |                          |                             |                      |
[INFO] [stdout]     |                          |                             |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                          |                             |                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                          |                             `__awaitee` calls a custom destructor
[INFO] [stdout]     |                          |                             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                          `subgroup_object_reader` calls a custom destructor
[INFO] [stdout]     |                          `subgroup_object_reader` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 302 |               writer.encode(&subgroup_object).await?;
[INFO] [stdout]     |               --------------------------------------
[INFO] [stdout]     |               |                               |
[INFO] [stdout]     |               |                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               |                               `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |               `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 306 |                   if let Ok(mut mlog_guard) = mlog.lock() {
[INFO] [stdout]     |                             --------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `mlog_guard` calls a custom destructor
[INFO] [stdout]     |                             `mlog_guard` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 321 | /             state
[INFO] [stdout] 322 | |                 .lock_mut()
[INFO] [stdout] 323 | |                 .ok_or(ServeError::Done)?
[INFO] [stdout]     | |                                         -
[INFO] [stdout]     | |                                         |
[INFO] [stdout]     | |                                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________________________________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 331 |               while let Some(chunk) = subgroup_object_reader.read().await? {
[INFO] [stdout]     |                              -----    -----------------------------------^
[INFO] [stdout]     |                              |        |                             |
[INFO] [stdout]     |                              |        |                             this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                              |        |                             up until Edition 2021 `#14` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                              |        |                             this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                              |        |                             `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                              |        this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                              |        up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                              |        this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                              |        up until Edition 2021 `#13` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                              |        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                              |        `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                              `chunk` calls a custom destructor
[INFO] [stdout]     |                              `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 339 |                   writer.write(&chunk).await?;
[INFO] [stdout]     |                   ---------------------------
[INFO] [stdout]     |                   |                    |
[INFO] [stdout]     |                   |                    this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                   |                    `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                   `#10` will be dropped later as of Edition 2024
[INFO] [stdout] 340 |                   chunks_sent += 1;
[INFO] [stdout] 341 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `subgroup_object_reader` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `subgroup_object_reader` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `mlog_guard` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:191:1
[INFO] [stdout]     |
[INFO] [stdout] 191 | impl<T> Drop for StateMut<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:191:1
[INFO] [stdout]     |
[INFO] [stdout] 191 | impl<T> Drop for StateMut<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/session/subscribed.rs:331:37
[INFO] [stdout]     |
[INFO] [stdout] 331 |             while let Some(chunk) = subgroup_object_reader.read().await? {
[INFO] [stdout]     |                            -----    -----------------------------------^
[INFO] [stdout]     |                            |        |                             |
[INFO] [stdout]     |                            |        |                             this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                            |        |                             up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |        |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |        |                             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            |        this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                            |        up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |        this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                            |        up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                            |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            `chunk` calls a custom destructor
[INFO] [stdout]     |                            `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 339 |                 writer.write(&chunk).await?;
[INFO] [stdout]     |                 ---------------------------
[INFO] [stdout]     |                 |                    |
[INFO] [stdout]     |                 |                    this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 |                    `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 340 |                 chunks_sent += 1;
[INFO] [stdout] 341 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/session/subscribed.rs:279:54
[INFO] [stdout]     |
[INFO] [stdout] 279 |           while let Some(mut subgroup_object_reader) = subgroup_reader.next().await? {
[INFO] [stdout]     |                          --------------------------    ----------------------------^
[INFO] [stdout]     |                          |                             |                      |
[INFO] [stdout]     |                          |                             |                      this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                          |                             |                      up until Edition 2021 `#14` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                          |                             |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                          |                             |                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                          |                             this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                          |                             up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                          |                             this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                          |                             up until Edition 2021 `#13` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                          |                             `__awaitee` calls a custom destructor
[INFO] [stdout]     |                          |                             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                          `subgroup_object_reader` calls a custom destructor
[INFO] [stdout]     |                          `subgroup_object_reader` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 302 |               writer.encode(&subgroup_object).await?;
[INFO] [stdout]     |               --------------------------------------
[INFO] [stdout]     |               |                               |
[INFO] [stdout]     |               |                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               |                               `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |               `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 306 |                   if let Ok(mut mlog_guard) = mlog.lock() {
[INFO] [stdout]     |                             --------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `mlog_guard` calls a custom destructor
[INFO] [stdout]     |                             `mlog_guard` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 321 | /             state
[INFO] [stdout] 322 | |                 .lock_mut()
[INFO] [stdout] 323 | |                 .ok_or(ServeError::Done)?
[INFO] [stdout]     | |                                         -
[INFO] [stdout]     | |                                         |
[INFO] [stdout]     | |                                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________________________________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 331 |               while let Some(chunk) = subgroup_object_reader.read().await? {
[INFO] [stdout]     |                              -----    -----------------------------------
[INFO] [stdout]     |                              |        |                             |
[INFO] [stdout]     |                              |        |                             this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                              |        |                             `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                              |        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                              |        `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                              `chunk` calls a custom destructor
[INFO] [stdout]     |                              `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 339 |                   writer.write(&chunk).await?;
[INFO] [stdout]     |                   ---------------------------
[INFO] [stdout]     |                   |                    |
[INFO] [stdout]     |                   |                    this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                   |                    `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                   `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 350 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `subgroup_object_reader` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `subgroup_object_reader` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `mlog_guard` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:191:1
[INFO] [stdout]     |
[INFO] [stdout] 191 | impl<T> Drop for StateMut<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:191:1
[INFO] [stdout]     |
[INFO] [stdout] 191 | impl<T> Drop for StateMut<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/session/subscribed.rs:415:45
[INFO] [stdout]     |
[INFO] [stdout] 369 |           while let Some(datagram) = datagrams.read().await? {
[INFO] [stdout]     |                          --------    ----------------------
[INFO] [stdout]     |                          |           |                |
[INFO] [stdout]     |                          |           |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                          |           |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                          |           `__awaitee` calls a custom destructor
[INFO] [stdout]     |                          |           `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                          `datagram` calls a custom destructor
[INFO] [stdout]     |                          `datagram` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 378 |               let encoded_datagram = data::Datagram {
[INFO] [stdout]     |                   ----------------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `encoded_datagram` calls a custom destructor
[INFO] [stdout]     |                   `encoded_datagram` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 415 |                   if let Ok(mut mlog_guard) = mlog.lock() {
[INFO] [stdout]     |                             --------------    ^^^^^^^^^^^
[INFO] [stdout]     |                             |                 |
[INFO] [stdout]     |                             |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                             |                 up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                             `mlog_guard` calls a custom destructor
[INFO] [stdout]     |                             `mlog_guard` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 424 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 425 |
[INFO] [stdout] 426 |               self.publisher.send_datagram(buffer.into()).await?;
[INFO] [stdout]     |               --------------------------------------------------
[INFO] [stdout]     |               |                                           |
[INFO] [stdout]     |               |                                           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               |                                           `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |               `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 427 |
[INFO] [stdout] 428 | /             self.state
[INFO] [stdout] 429 | |                 .lock_mut()
[INFO] [stdout] 430 | |                 .ok_or(ServeError::Done)?
[INFO] [stdout]     | |                                         -
[INFO] [stdout]     | |                                         |
[INFO] [stdout]     | |                                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________________________________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `datagram` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `encoded_datagram` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `mlog_guard` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:191:1
[INFO] [stdout]     |
[INFO] [stdout] 191 | impl<T> Drop for StateMut<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:191:1
[INFO] [stdout]     |
[INFO] [stdout] 191 | impl<T> Drop for StateMut<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/session/subscribed.rs:369:36
[INFO] [stdout]      |
[INFO] [stdout]  369 |           while let Some(datagram) = datagrams.read().await? {
[INFO] [stdout]      |                          --------    ----------------------^
[INFO] [stdout]      |                          |           |                |
[INFO] [stdout]      |                          |           |                this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                          |           |                up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                          |           |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                          |           |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          |           this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                          |           up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                          |           this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                          |           up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                          |           `__awaitee` calls a custom destructor
[INFO] [stdout]      |                          |           `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          `datagram` calls a custom destructor
[INFO] [stdout]      |                          `datagram` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  378 |               let encoded_datagram = data::Datagram {
[INFO] [stdout]      |                   ----------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `encoded_datagram` calls a custom destructor
[INFO] [stdout]      |                   `encoded_datagram` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  398 |               let mut buffer = bytes::BytesMut::with_capacity(payload_len + 100);
[INFO] [stdout]      |                   ----------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `buffer` calls a custom destructor
[INFO] [stdout]      |                   `buffer` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  415 |                   if let Ok(mut mlog_guard) = mlog.lock() {
[INFO] [stdout]      |                             --------------
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             `mlog_guard` calls a custom destructor
[INFO] [stdout]      |                             `mlog_guard` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  426 |               self.publisher.send_datagram(buffer.into()).await?;
[INFO] [stdout]      |               --------------------------------------------------
[INFO] [stdout]      |               |                                           |
[INFO] [stdout]      |               |                                           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |               |                                           `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |               `#3` will be dropped later as of Edition 2024
[INFO] [stdout]  427 |
[INFO] [stdout]  428 | /             self.state
[INFO] [stdout]  429 | |                 .lock_mut()
[INFO] [stdout]  430 | |                 .ok_or(ServeError::Done)?
[INFO] [stdout]      | |                                         -
[INFO] [stdout]      | |                                         |
[INFO] [stdout]      | |                                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      | |_________________________________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  437 |           }
[INFO] [stdout]      |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]      |
[INFO] [stdout]  544 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]      |
[INFO] [stdout]  544 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]      |
[INFO] [stdout]  544 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `datagram` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]      |
[INFO] [stdout]  544 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `encoded_datagram` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]      |
[INFO] [stdout]  544 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `buffer` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes_mut.rs:1030:1
[INFO] [stdout]      |
[INFO] [stdout] 1030 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `mlog_guard` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]      |
[INFO] [stdout]  544 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]      |
[INFO] [stdout]  544 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> src/watch/state.rs:191:1
[INFO] [stdout]      |
[INFO] [stdout]  191 | impl<T> Drop for StateMut<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> src/watch/state.rs:191:1
[INFO] [stdout]      |
[INFO] [stdout]  191 | impl<T> Drop for StateMut<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/session/subscriber.rs:127:28
[INFO] [stdout]     |
[INFO] [stdout] 126 |         let subscribe = self.subscribe_open(track).await?;
[INFO] [stdout]     |             ---------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `subscribe` calls a custom destructor
[INFO] [stdout]     |             `subscribe` will be dropped later as of Edition 2024
[INFO] [stdout] 127 |         subscribe.closed().await
[INFO] [stdout]     |                            ^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 128 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `subscribe` invokes this custom destructor
[INFO] [stdout]    --> src/session/subscribe.rs:164:1
[INFO] [stdout]     |
[INFO] [stdout] 164 | impl Drop for Subscribe {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/session/subscriber.rs:571:45
[INFO] [stdout]     |
[INFO] [stdout] 483 |               while !reader.done().await? {
[INFO] [stdout]     |                      --------------------
[INFO] [stdout]     |                      |             |
[INFO] [stdout]     |                      |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                      |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                      `__awaitee` calls a custom destructor
[INFO] [stdout]     |                      `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 495 |                               let object = reader.decode::<data::SubgroupObjectExt>().await?;
[INFO] [stdout]     |                                            -------------------------------------------------
[INFO] [stdout]     |                                            |                                          |
[INFO] [stdout]     |                                            |                                          this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                            |                                          `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                            `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                            `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 544 |                               let object = reader.decode::<data::SubgroupObject>().await?;
[INFO] [stdout]     |                                            ----------------------------------------------
[INFO] [stdout]     |                                            |                                       |
[INFO] [stdout]     |                                            |                                       this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                            |                                       `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                            `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                            `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 571 |                       if let Ok(mut mlog_guard) = mlog.lock() {
[INFO] [stdout]     |                                 --------------    ^^^^^^^^^^^
[INFO] [stdout]     |                                 |                 |
[INFO] [stdout]     |                                 |                 this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                                 |                 up until Edition 2021 `#14` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                 `mlog_guard` calls a custom destructor
[INFO] [stdout]     |                                 `mlog_guard` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 601 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 606 |                   let mut object_writer = subgroup_writer.create(remaining_bytes, extension_headers)?;
[INFO] [stdout]     |                       -----------------   -----------------------------------------------------------
[INFO] [stdout]     |                       |                   |
[INFO] [stdout]     |                       |                   this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                       |                   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       `object_writer` calls a custom destructor
[INFO] [stdout]     |                       `object_writer` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 615 |                       let data = reader
[INFO] [stdout]     |      ____________________________-
[INFO] [stdout]     |    _|____________________________|
[INFO] [stdout]     |  _|_|____________________________|
[INFO] [stdout] 616 | | | |                     .read_chunk(remaining_bytes)
[INFO] [stdout] 617 | | | |                     .await?
[INFO] [stdout]     | | | |                      ------
[INFO] [stdout]     | | | |                      |   ||
[INFO] [stdout]     | | |_|______________________|___|this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |   |                      |   |`#11` will be dropped later as of Edition 2024
[INFO] [stdout]     | |   |______________________|___this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     | |                          |   `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                          this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     | |                          `#13` will be dropped later as of Edition 2024
[INFO] [stdout] 618 | |                         .ok_or_else(|| {
[INFO] [stdout] ...   |
[INFO] [stdout] 624 | |                             SessionError::WrongSize
[INFO] [stdout] 625 | |                         })?;
[INFO] [stdout]     | |                           -
[INFO] [stdout]     | |                           |
[INFO] [stdout]     | |___________________________this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                             `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `mlog_guard` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `object_writer` invokes this custom destructor
[INFO] [stdout]    --> src/serve/subgroup.rs:557:1
[INFO] [stdout]     |
[INFO] [stdout] 557 | impl Drop for SubgroupObjectWriter {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> src/serve/subgroup.rs:557:1
[INFO] [stdout]     |
[INFO] [stdout] 557 | impl Drop for SubgroupObjectWriter {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/session/mod.rs:730:45
[INFO] [stdout]     |
[INFO] [stdout] 724 |         while let Some(msg) = outgoing.pop().await {
[INFO] [stdout]     |                               --------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 730 |                 if let Ok(mut mlog_guard) = mlog.lock() {
[INFO] [stdout]     |                           --------------    ^^^^^^^^^^^
[INFO] [stdout]     |                           |                 |
[INFO] [stdout]     |                           |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                           |                 up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                           `mlog_guard` calls a custom destructor
[INFO] [stdout]     |                           `mlog_guard` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 767 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 768 |
[INFO] [stdout] 769 |             sender.encode(&msg).await?;
[INFO] [stdout]     |             --------------------------
[INFO] [stdout]     |             |                   |
[INFO] [stdout]     |             |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |             |                   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `mlog_guard` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/session/mod.rs:794:45
[INFO] [stdout]     |
[INFO] [stdout] 787 |                 let msg: message::Message = recver.decode().await?;
[INFO] [stdout]     |                                             ----------------------
[INFO] [stdout]     |                                             |               |
[INFO] [stdout]     |                                             |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                             |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 794 |                     if let Ok(mut mlog_guard) = mlog.lock() {
[INFO] [stdout]     |                               --------------    ^^^^^^^^^^^
[INFO] [stdout]     |                               |                 |
[INFO] [stdout]     |                               |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                               |                 up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               `mlog_guard` calls a custom destructor
[INFO] [stdout]     |                               `mlog_guard` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 831 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 835 | / /                     subscriber
[INFO] [stdout] 836 | | |                         .as_mut()
[INFO] [stdout] 837 | | |                         .ok_or(SessionError::RoleViolation)?
[INFO] [stdout]     | | |                                                            -
[INFO] [stdout]     | | |                                                            |
[INFO] [stdout]     | | |____________________________________________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                                                              `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 838 | |                           .recv_message(msg)?;
[INFO] [stdout]     | |                                             -
[INFO] [stdout]     | |                                             |
[INFO] [stdout]     | |_____________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                               `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 846 |   /                     publisher
[INFO] [stdout] 847 |   |                         .as_mut()
[INFO] [stdout] 848 |   |                         .ok_or(SessionError::RoleViolation)?
[INFO] [stdout]     |   |                                                            -
[INFO] [stdout]     |   |____________________________________________________________|
[INFO] [stdout]     |   |____________________________________________________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                                                `#6` will be dropped later as of Edition 2024
[INFO] [stdout] 849 |   |                         .recv_message(msg)?;
[INFO] [stdout]     |   |                                           -
[INFO] [stdout]     |   |___________________________________________|
[INFO] [stdout]     |   |___________________________________________this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                               `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `mlog_guard` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/watch/queue.rs:32:53
[INFO] [stdout]     |
[INFO] [stdout]  29 |                   let queue = self.state.lock();
[INFO] [stdout]     |                       -----
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `queue` calls a custom destructor
[INFO] [stdout]     |                       `queue` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  32 |                       if let Some((item, notifier)) = {
[INFO] [stdout]     |  ________________________________________--------_____^
[INFO] [stdout]     | |                                        |
[INFO] [stdout]     | |                                        `notifier` calls a custom destructor
[INFO] [stdout]     | |                                        `notifier` will be dropped later as of Edition 2024
[INFO] [stdout]  33 | |                         let mut state_mut = queue.into_mut()?;
[INFO] [stdout]     | |                             -------------   -----------------
[INFO] [stdout]     | |                             |               |
[INFO] [stdout]     | |                             |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                             |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                             `state_mut` calls a custom destructor
[INFO] [stdout]     | |                             `state_mut` will be dropped later as of Edition 2024
[INFO] [stdout]  34 | |                         state_mut.pop_front()
[INFO] [stdout]  35 | |                     } {
[INFO] [stdout]     | |                     ^
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |_____________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  41 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  46 |               queue.modified()?.await;
[INFO] [stdout]     |               -----------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `queue` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl<T> Drop for StateDrop<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `queue` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `queue` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `state_mut` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:191:1
[INFO] [stdout]     |
[INFO] [stdout] 191 | impl<T> Drop for StateMut<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/watch/state.rs:191:1
[INFO] [stdout]     |
[INFO] [stdout] 191 | impl<T> Drop for StateMut<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `notifier` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 05s
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/message/publisher.rs:44:20
[INFO] [stdout]    |
[INFO] [stdout] 44 |                       $(Self::$name(ref m) => m.fmt(f),)*
[INFO] [stdout]    |                                     ^^^^^ occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 52 | / publisher_msgs! {
[INFO] [stdout] 53 | |     PublishNamespace,
[INFO] [stdout] 54 | |     PublishNamespaceDone,
[INFO] [stdout] 55 | |     Publish,
[INFO] [stdout] ...  |
[INFO] [stdout] 64 | |     SubscribeNamespaceError,
[INFO] [stdout] 65 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]    = note: this warning originates in the macro `publisher_msgs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 44 |                     $(&Self::$name(ref m) => m.fmt(f),)*
[INFO] [stdout]    |                       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/message/subscriber.rs:44:20
[INFO] [stdout]    |
[INFO] [stdout] 44 |                       $(Self::$name(ref m) => m.fmt(f),)*
[INFO] [stdout]    |                                     ^^^^^ occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 52 | / subscriber_msgs! {
[INFO] [stdout] 53 | |     Subscribe,
[INFO] [stdout] 54 | |     SubscribeUpdate,
[INFO] [stdout] 55 | |     Unsubscribe,
[INFO] [stdout] ...  |
[INFO] [stdout] 65 | |     PublishError,
[INFO] [stdout] 66 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `subscriber_msgs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 44 |                     $(&Self::$name(ref m) => m.fmt(f),)*
[INFO] [stdout]    |                       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/message/mod.rs:113:20
[INFO] [stdout]     |
[INFO] [stdout] 113 |                       $(Self::$name(ref m) => {
[INFO] [stdout]     |                                     ^^^^^ occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 174 | / message_types! {
[INFO] [stdout] ...   |
[INFO] [stdout] 227 | |     PublishError = 0x1f,
[INFO] [stdout] 228 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `message_types` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 113 |                     $(&Self::$name(ref m) => {
[INFO] [stdout]     |                       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/message/mod.rs:166:20
[INFO] [stdout]     |
[INFO] [stdout] 166 |                       $(Self::$name(ref m) => m.fmt(f),)*
[INFO] [stdout]     |                                     ^^^^^ occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 174 | / message_types! {
[INFO] [stdout] ...   |
[INFO] [stdout] 227 | |     PublishError = 0x1f,
[INFO] [stdout] 228 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `message_types` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 166 |                     $(&Self::$name(ref m) => m.fmt(f),)*
[INFO] [stdout]     |                       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] crater-edition-check: moq-transport v0.14.2 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking moq-transport v0.14.2 (/opt/rustwide/workdir)
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/message/publisher.rs:44:20
[INFO] [stdout]    |
[INFO] [stdout] 44 |                       $(Self::$name(ref m) => m.fmt(f),)*
[INFO] [stdout]    |                                     ^^^^^ occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 52 | / publisher_msgs! {
[INFO] [stdout] 53 | |     PublishNamespace,
[INFO] [stdout] 54 | |     PublishNamespaceDone,
[INFO] [stdout] 55 | |     Publish,
[INFO] [stdout] ...  |
[INFO] [stdout] 64 | |     SubscribeNamespaceError,
[INFO] [stdout] 65 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `publisher_msgs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 44 |                     $(&Self::$name(ref m) => m.fmt(f),)*
[INFO] [stdout]    |                       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/message/subscriber.rs:44:20
[INFO] [stdout]    |
[INFO] [stdout] 44 |                       $(Self::$name(ref m) => m.fmt(f),)*
[INFO] [stdout]    |                                     ^^^^^ occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 52 | / subscriber_msgs! {
[INFO] [stdout] 53 | |     Subscribe,
[INFO] [stdout] 54 | |     SubscribeUpdate,
[INFO] [stdout] 55 | |     Unsubscribe,
[INFO] [stdout] ...  |
[INFO] [stdout] 65 | |     PublishError,
[INFO] [stdout] 66 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `subscriber_msgs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 44 |                     $(&Self::$name(ref m) => m.fmt(f),)*
[INFO] [stdout]    |                       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/message/mod.rs:113:20
[INFO] [stdout]     |
[INFO] [stdout] 113 |                       $(Self::$name(ref m) => {
[INFO] [stdout]     |                                     ^^^^^ occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 174 | / message_types! {
[INFO] [stdout] ...   |
[INFO] [stdout] 227 | |     PublishError = 0x1f,
[INFO] [stdout] 228 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `message_types` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 113 |                     $(&Self::$name(ref m) => {
[INFO] [stdout]     |                       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/message/mod.rs:166:20
[INFO] [stdout]     |
[INFO] [stdout] 166 |                       $(Self::$name(ref m) => m.fmt(f),)*
[INFO] [stdout]     |                                     ^^^^^ occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 174 | / message_types! {
[INFO] [stdout] ...   |
[INFO] [stdout] 227 | |     PublishError = 0x1f,
[INFO] [stdout] 228 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `message_types` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 166 |                     $(&Self::$name(ref m) => m.fmt(f),)*
[INFO] [stdout]     |                       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/message/publisher.rs:44:20
[INFO] [stdout]    |
[INFO] [stdout] 44 |                       $(Self::$name(ref m) => m.fmt(f),)*
[INFO] [stdout]    |                                     ^^^^^ occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 52 | / publisher_msgs! {
[INFO] [stdout] 53 | |     PublishNamespace,
[INFO] [stdout] 54 | |     PublishNamespaceDone,
[INFO] [stdout] 55 | |     Publish,
[INFO] [stdout] ...  |
[INFO] [stdout] 64 | |     SubscribeNamespaceError,
[INFO] [stdout] 65 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `publisher_msgs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 44 |                     $(&Self::$name(ref m) => m.fmt(f),)*
[INFO] [stdout]    |                       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/message/subscriber.rs:44:20
[INFO] [stdout]    |
[INFO] [stdout] 44 |                       $(Self::$name(ref m) => m.fmt(f),)*
[INFO] [stdout]    |                                     ^^^^^ occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 52 | / subscriber_msgs! {
[INFO] [stdout] 53 | |     Subscribe,
[INFO] [stdout] 54 | |     SubscribeUpdate,
[INFO] [stdout] 55 | |     Unsubscribe,
[INFO] [stdout] ...  |
[INFO] [stdout] 65 | |     PublishError,
[INFO] [stdout] 66 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `subscriber_msgs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 44 |                     $(&Self::$name(ref m) => m.fmt(f),)*
[INFO] [stdout]    |                       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/message/mod.rs:113:20
[INFO] [stdout]     |
[INFO] [stdout] 113 |                       $(Self::$name(ref m) => {
[INFO] [stdout]     |                                     ^^^^^ occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 174 | / message_types! {
[INFO] [stdout] ...   |
[INFO] [stdout] 227 | |     PublishError = 0x1f,
[INFO] [stdout] 228 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `message_types` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 113 |                     $(&Self::$name(ref m) => {
[INFO] [stdout]     |                       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/message/mod.rs:166:20
[INFO] [stdout]     |
[INFO] [stdout] 166 |                       $(Self::$name(ref m) => m.fmt(f),)*
[INFO] [stdout]     |                                     ^^^^^ occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 174 | / message_types! {
[INFO] [stdout] ...   |
[INFO] [stdout] 227 | |     PublishError = 0x1f,
[INFO] [stdout] 228 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `message_types` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 166 |                     $(&Self::$name(ref m) => m.fmt(f),)*
[INFO] [stdout]     |                       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `moq-transport` (lib test) due to 4 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `moq-transport` (lib) due to 4 previous errors
[INFO] running `Command { std: "docker" "inspect" "47b614c827db96c47d075cca8ba68047e64aec376cfab8d34131a19ffc6baa29", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "47b614c827db96c47d075cca8ba68047e64aec376cfab8d34131a19ffc6baa29", kill_on_drop: false }`
[INFO] [stdout] 47b614c827db96c47d075cca8ba68047e64aec376cfab8d34131a19ffc6baa29
